one-dimensional array
Real-Time Fall Detection Using Smartphone Accelerometers and WiFi Channel State Information
Wang, Lingyun, Su, Deqi, Zhang, Aohua, Zhu, Yujun, Jiang, Weiwei, He, Xin, Yang, Panlong
In recent years, as the population ages, falls have increasingly posed a significant threat to the health of the elderly. We propose a real-time fall detection system that integrates the inertial measurement unit (IMU) of a smartphone with optimized Wi-Fi channel state information (CSI) for secondary validation. Initially, the IMU distinguishes falls from routine daily activities with minimal computational demand. Subsequently, the CSI is employed for further assessment, which includes evaluating the individual's post-fall mobility. This methodology not only achieves high accuracy but also reduces energy consumption in the smartphone platform. An Android application developed specifically for the purpose issues an emergency alert if the user experiences a fall and is unable to move. Experimental results indicate that the CSI model, based on convolutional neural networks (CNN), achieves a detection accuracy of 99%, \revised{surpassing comparable IMU-only models, and demonstrating significant resilience in distinguishing between falls and non-fall activities.
Common Subexpression-based Compression and Multiplication of Sparse Constant Matrices
In deep learning inference, model parameters are pruned and quantized to reduce the model size. Compression methods and common subexpression (CSE) elimination algorithms are applied on sparse constant matrices to deploy the models on low-cost embedded devices. However, the state-of-the-art CSE elimination methods do not scale well for handling large matrices. They reach hours for extracting CSEs in a $200 \times 200$ matrix while their matrix multiplication algorithms execute longer than the conventional matrix multiplication methods. Besides, there exist no compression methods for matrices utilizing CSEs. As a remedy to this problem, a random search-based algorithm is proposed in this paper to extract CSEs in the column pairs of a constant matrix. It produces an adder tree for a $1000 \times 1000$ matrix in a minute. To compress the adder tree, this paper presents a compression format by extending the Compressed Sparse Row (CSR) to include CSEs. While compression rates of more than $50\%$ can be achieved compared to the original CSR format, simulations for a single-core embedded system show that the matrix multiplication execution time can be reduced by $20\%$.
Scientific Computing in Python: Introduction to NumPy and Matplotlib
Since many students in my Stat 451: Introduction to Machine Learning and Statistical Pattern Classification class are relatively new to Python and NumPy, I was recently devoting a lecture to the latter. Since the course notes are based on an interactive Jupyter notebook file, which I used as a basis for the lecture videos, I thought it would be worthwhile to reformat it as a blog article with the embedded "narrated content" โ the video recordings. This section offers a quick tour of the NumPy library for working with multi-dimensional arrays in Python. NumPy (short for Numerical Python) was created in 2005 by merging Numarray into Numeric. Since then, the open source NumPy library has evolved into an essential library for scientific computing in Python.
Python Data Structures: Your Starter Kit to Learning Algorithms
This is just meant as a friendly introduction to a topic that every computer science and data science program I know off explores in an entire course or a few. Working with any kind of algorithm starts with learning a set of data structures associated with it. This makes sense since most algorithms work on some kind of data that must be stored and held somehow, somewhere. That's where data structures come handy! Data Structures are used to organize information and data in a variety of ways such that an algorithm can be applied to the structure in the most efficient way possible.
A Gentle Introduction to N-Dimensional Arrays in Python with NumPy - Machine Learning Mastery
Arrays are the main data structure used in machine learning. In Python, arrays from the NumPy library, called N-dimensional arrays or the ndarray, are used as the primary data structure for representing data. In this tutorial, you will discover the N-dimensional array in NumPy for representing numerical and manipulating data in Python. A Gentle Introduction to N-Dimensional Arrays in Python with NumPy Photo by patrickkavanagh, some rights reserved. Take my free 7-day email crash course now (with sample code).
Can any data structure be represented by one-dimensional arrays?
A similar arguments can be used for graphs (as in graph theory), non-binary trees, heaps, stacks, linked lists etc. Indeed, before programming languages offered advanced data structures, sophisticated objects and types, recursion (and much more) -- all the data -- had to be stored in (organized) arrays. Trees, hash tables etc. were simulated by using arrays and pointers. In some ways, we are getting back to the old times, with unstructured data, such as member postings on social networks. Although structuring unstructured data (by putting it into clusters and taxonomies) allow it to be manipulated much more easily.